package com.aspose.cells;

class zhh {
   private String a;
   private zxx b;
   private Color c = Color.getEmpty();
   private short d = 0;

   public String a() {
      return this.a;
   }

   public void a(String var1) {
      this.a = var1;
   }

   public zxx b() {
      return this.b;
   }

   public void a(zxx var1) {
      this.b = var1;
   }

   public Color c() {
      return this.c;
   }

   public short d() {
      return this.d;
   }

   public int a(char[] var1, int var2, int var3, StringBuilder var4, boolean var5) {
      label211:
      switch(var1[var2]) {
      case '$':
         ++var2;
         boolean var10 = true;
         int var7 = var2;

         while(true) {
            if (var2 >= var3) {
               break label211;
            }

            switch(var1[var2]) {
            case '-':
               this.a(var4, var1, var7, var2, var5);
               ++var2;
               var7 = var2;
               var10 = false;
               break;
            case ']':
               if (var10) {
                  this.a(var4, var1, var7, var2, var5);
               } else if (var7 < var2) {
                  try {
                     int var8 = com.aspose.cells.b.a.zo.a(new String(var1, var7, var2 - var7), 515);
                     this.d = (short)(var8 & '\uffff');
                  } catch (Exception var9) {
                     ;
                  }
               }

               return var2 + 1;
            default:
               ++var2;
            }
         }
      case 'B':
      case 'b':
         if (var2 + 4 < var3) {
            ++var2;
            if (var1[var2] == 'l' || var1[var2] == 'L') {
               ++var2;
               switch(var1[var2]) {
               case 'A':
               case 'a':
                  if (var2 + 3 < var3 && var1[var2 + 3] == ']' && (var1[var2 + 1] | 32) == 99 && (var1[var2 + 2] | 32) == 107) {
                     this.c = Color.getBlack();
                     return var2 + 4;
                  }
                  break;
               case 'U':
               case 'u':
                  if (var1[var2 + 2] == ']' && (var1[var2 + 1] | 32) == 101) {
                     this.c = Color.getBlue();
                     return var2 + 3;
                  }
               }
            }
         }
         break;
      case 'C':
      case 'c':
         if (var2 + 4 < var3) {
            switch(var1[var2 + 1]) {
            case 'O':
            case 'o':
               if (var2 + 6 < var3 && (var1[var2 + 2] | 32) == 108 && (var1[var2 + 3] | 32) == 111 && (var1[var2 + 4] | 32) == 114) {
                  var2 += 5;
                  if (var1[var2] >= '0' && var1[var2] <= '9') {
                     int var6 = var1[var2] - 48;
                     ++var2;
                     if (var1[var2] >= '0' && var1[var2] <= '9') {
                        var6 = var6 * 10 + (var1[var2] - 48);
                        ++var2;
                     }

                     if (var1[var2] == ']' && var6 > 0 && var6 < 57) {
                        if (this.b.d() != null) {
                           this.c = this.b.d().a(var6);
                        } else {
                           this.c = zake.b(var6);
                        }

                        return var2 + 1;
                     }
                  }
               }
               break;
            case 'Y':
            case 'y':
               if (var1[var2 + 4] == ']' && (var1[var2 + 2] | 32) == 97 && (var1[var2 + 3] | 32) == 110) {
                  this.c = Color.getCyan();
                  return var2 + 5;
               }
            }
         }
         break;
      case 'G':
         if (var2 + 5 < var3 && var1[var2 + 5] == ']' && (var1[var2 + 1] | 32) == 114 && (var1[var2 + 2] | 32) == 101 && (var1[var2 + 3] | 32) == 101 && (var1[var2 + 4] | 32) == 110) {
            this.c = Color.getGreen();
            return var2 + 6;
         }
         break;
      case 'M':
         if (var2 + 7 < var3 && var1[var2 + 7] == ']' && (var1[var2 + 1] | 32) == 97 && (var1[var2 + 2] | 32) == 103 && (var1[var2 + 3] | 32) == 101 && (var1[var2 + 4] | 32) == 110 && (var1[var2 + 5] | 32) == 116 && (var1[var2 + 6] | 32) == 97) {
            this.c = Color.getMagenta();
            return var2 + 8;
         }
         break;
      case 'R':
         if (var2 + 3 < var3 && var1[var2 + 3] == ']' && (var1[var2 + 1] | 32) == 101 && (var1[var2 + 2] | 32) == 100) {
            this.c = Color.getRed();
            return var2 + 4;
         }
         break;
      case 'W':
         if (var2 + 5 < var3 && var1[var2 + 5] == ']' && (var1[var2 + 1] | 32) == 104 && (var1[var2 + 2] | 32) == 105 && (var1[var2 + 3] | 32) == 116 && (var1[var2 + 4] | 32) == 101) {
            this.c = Color.getWhite();
            return var2 + 6;
         }
         break;
      case 'Y':
         if (var2 + 6 < var3 && var1[var2 + 6] == ']' && (var1[var2 + 1] | 32) == 101 && (var1[var2 + 2] | 32) == 108 && (var1[var2 + 3] | 32) == 108 && (var1[var2 + 4] | 32) == 111 && (var1[var2 + 5] | 32) == 119) {
            this.c = Color.getYellow();
            return var2 + 7;
         }
         break;
      default:
         if (var2 + 2 < var3) {
            if (var1[var2 + 2] == ']') {
               if (var1[var2 + 1] == '色') {
                  switch(var1[var2]) {
                  case '白':
                     this.c = Color.getWhite();
                     return var2 + 3;
                  case '红':
                     this.c = Color.getRed();
                     return var2 + 3;
                  case '绿':
                     this.c = Color.getGreen();
                     return var2 + 3;
                  case '蓝':
                     this.c = Color.getBlue();
                     return var2 + 3;
                  case '黄':
                     this.c = Color.getYellow();
                     return var2 + 3;
                  case '黑':
                     this.c = Color.getBlack();
                     return var2 + 3;
                  }
               } else if (var1[var2] == 27915 && var1[var2 + 1] == 32418) {
                  this.c = Color.getMagenta();
                  return var2 + 3;
               }
            } else if (var2 + 3 < var3 && var1[var2 + 3] == ']' && var1[var2 + 2] == '色' && var1[var2] == '蓝' && var1[var2 + 1] == 32511) {
               return var2 + 4;
            }
         }
      }

      while(var2 < var3) {
         if (var1[var2] == ']') {
            return var2 + 1;
         }

         ++var2;
      }

      return var2;
   }

   private void a(StringBuilder var1, char[] var2, int var3, int var4, boolean var5) {
      if (var3 < var4 && var1 != null) {
         if (var5) {
            com.aspose.cells.a.c.zk.a(var1, var2, var3, var4);
         } else {
            var1.append('"');
            var1.append(var2, var3, var4 - var3);
            var1.append('"');
         }
      }

   }
}
